home *** CD-ROM | disk | FTP | other *** search
/ Cream of the Crop 22 / Cream of the Crop 22.iso / bbs / basement.zip / USRLST2.ZIP / USRLST2.MEX next >
Text File  |  1996-06-06  |  4KB  |  138 lines

  1.  
  2. //////////////////////////////////////////////////////////////////////////
  3. //
  4. // File: USRLST2.MEX
  5. //
  6. // Desc: Displays the user list
  7. //
  8. // Code: Portions <C>1995 by Lanius Corporation.  All rights reserved.
  9. //
  10. //     Amendments - Copyright (c)1995 - G. Foley & Basement Programs Ltd.
  11. //                  Data Warehouse BBS - Fidonet 1:244/333 (905) 578-5117
  12. //                   
  13. //                  Released as Shareware - NOV 5, 1995
  14. //////////////////////////////////////////////////////////////////////////
  15.  
  16. #include <max.mh>
  17.  
  18. int substrtoi(ref string: s, int: start, int: len)
  19. {
  20.   string: t;
  21.   t:=substr(s,start,len);
  22.   return strtoi(t);
  23. }
  24.  
  25. void main()
  26. {
  27.   int: ok, count, len;
  28.   char: nonstop;
  29.   string: match;
  30.   struct _usr: u;
  31.   struct _stamp: cur;      // Current date/time
  32.      int: cur_day;          // Binary day of birth
  33.      int: cur_month;        // Binary month of birth
  34.      int: dob_day;          // Binary day of birth
  35.      int: dob_month;        // Binary month of birth
  36.  
  37.   reset_more(nonstop);
  38.   print(AVATAR_CLS, COL_YELLOW,
  39.           "                          User Search/Listing V1.1\n\n");
  40.   print(COL_WHITE "\nTotal number of users on file ", 
  41.           COL_YELLOW "= " COL_LGREEN, userfilesize(), "\n\n" COL_WHITE);
  42.   print(COL_WHITE "Press " COL_GREEN "<" COL_YELLOW "enter" COL_GREEN, 
  43.           ">" COL_WHITE " for " COL_YELLOW "All" COL_WHITE ", or Type a ", 
  44.           COL_LGREEN "Partial" COL_WHITE " name to match" COL_LMAGENTA, 
  45.           ": " COL_YELLOW );
  46.   len := input_str(match, INPUT_NLB_LINE, 0, 26,""); 
  47.   if (len > 0)
  48.       match := strupper(match);
  49.   else
  50.       match :="";
  51.   print('\n');
  52.  
  53.   print(COL_YELLOW, "──────────────────────────────┬─────────┬",
  54.           "───────────────────┬─────┬─────┬──────",COL_WHITE "\n");
  55.   print(COL_WHTONBLU "          User Name           ",
  56.           COL_YELLOW,"│",COL_WHTONBLU,"Last Call",COL_YELLOW,"│",
  57.           COL_WHTONBLU,"     Location      ",COL_YELLOW,"│",
  58.           COL_WHTONBLU,"Uld's",COL_YELLOW,"│",COL_WHTONBLU,"Dld's",
  59.           COL_YELLOW,"│",COL_WHTONBLU," Calls",COL_WHITE "\n");
  60.   print(COL_YELLOW   "──────────────────────────────┼─────────┼",
  61.           "───────────────────┼─────┼─────┼──────",COL_WHITE "\n");
  62.   
  63. count := 0;
  64. for (ok := userfindopen("", "", u);
  65.     ok AND do_more(nonstop, COL_CYAN);
  66.     ok := userfindnext(u))
  67.     {
  68.      if (u.noulist = FALSE AND 
  69.          (len = 0 OR len > 0 AND strfind(strupper(u.name), match) > 0))
  70.      {
  71.      count := count + 1;
  72.      if (u.priv > 65000)
  73.          print(COL_LBLUE, 'H');
  74.      else 
  75.          print(' ');
  76.      if (u.encrypted = TRUE)
  77.          print(COL_LRED, 'E');
  78.      else 
  79.          print(' ');
  80.      
  81.      if (u.permanent = TRUE)
  82.          print(COL_LRED, 'P');
  83.      else 
  84.          print(' ');
  85.      if (u.nerd = TRUE)
  86.          print(COL_LCYAN, 'N');
  87.      else 
  88.          print(' ');
  89.      
  90.      timestamp(cur);
  91.          cur_month:=cur.date.month;
  92.          cur_day:=cur.date.day;
  93.          dob_month:=substrtoi(u.dob,6,2);
  94.          dob_day:=substrtoi(u.dob,9,2);
  95.      
  96.      if (cur_month=dob_month and cur_day=dob_day)
  97.          print(COL_LGREEN, '+');
  98.      else 
  99.          print(COL_GREEN, '-');
  100.      if (u.badlogon = TRUE)
  101.          print(COL_LRED AVATAR_CLEOL,strpad(u.name,25,'.'));
  102.      else
  103.          if (u.deleted = TRUE)
  104.              print(COL_RED AVATAR_CLEOL,strpad(u.name,25,'.'));
  105.          else
  106.              if (u.sex = SEX_MALE)
  107.                  print(COL_LCYAN AVATAR_CLEOL,strpad(u.name,25,'.'));
  108.              else
  109.                  if (u.sex = SEX_FEMALE)
  110.                      print(COL_LMAGENTA AVATAR_CLEOL,strpad(u.name,25,'.'));        
  111.                  else 
  112.                      print(COL_GRAY AVATAR_CLEOL,strpad(u.name,25,'.'));
  113. //    print (' ');
  114.      print(COL_YELLOW, "│",COL_CYAN,
  115.              strpad(substr(stamp_string(u.ludate),1,9), 9, ' '),
  116.              COL_YELLOW,"│", COL_GREEN, strpad(substr(u.city,1,19),19,' '),
  117.              COL_YELLOW,"│",COL_GRAY," ");
  118.              if (u.nup < 1 ) 
  119.                  print(COL_LRED,strpad(uitostr(u.nup),4,' '), COL_YELLOW,  
  120.                          "│",COL_GRAY," ");
  121.              else print(COL_GREEN,strpad(uitostr(u.nup),4,' '), COL_YELLOW,  
  122.                          "│",COL_GRAY," ");
  123.              print(COL_LBLUE,strpad(uitostr(u.ndown),4,' '), COL_YELLOW, 
  124.                      "│",COL_GRAY," ", COL_LGREEN,strpad(uitostr(u.times),5,' '), 
  125.                      COL_YLWONBLU, );
  126.      print(COL_GRAY, "\n");
  127.      }
  128.     }
  129.   print(COL_YELLOW "──────────────────────────────┴─────────┴",
  130.             "───────────────────┴─────┴─────┴───────",COL_GRAY,"\n\n");
  131.   print(COL_YELLOW "Total matches found", COL_WHITE ,": ", COL_LGREEN, 
  132.           count,COL_GRAY, "\n");
  133.   print(COL_WHITE,"Press ",COL_GREEN,"<",COL_YELLOW,"Enter",COL_GREEN,
  134.           ">",COL_WHITE," to Continue.....");
  135.   len := input_str(match, INPUT_NLB_LINE, 0, 1,"");         
  136.  
  137. }
  138.